'''
    该案例演示了列表的常用的操作
'''
# list = [100,200,300,400,500]
# list.insert(index,x)	在指定位置插入x
# list.insert(4,800)
# print(list)

# # list.append(x)	在列表末尾追加x
# list.append(900)
# print(list)

# list1.extend(list2)	在列表1的末尾追加列表2的数据
# list2 = ["a","b","c","d","e"]
# list.extend(list2)
# print(list)  #[100, 200, 300, 400, 500, 'a', 'b', 'c', 'd', 'e']

# del list[index]	删除指定位置的数据或切片
# del  list[1]
# print(list)

# list.remove(x)	删除第一次出现的x
# list.remove(200)
# print(list)

# list.pop([index])	删除指定位置的数据，默认为末尾数据
# list.pop(1)
# list2 = list.pop(1)
# print(list2)  #200

# list.clear()	清空列表中元素
# list.clear()

# list[index] = x	修改指定位置的数据
# list[1] = 600
# print(list)

# list1[start:end] = list2	修改列表切片的数据
# list2  = list[0:2:] = ["a","b"]
# print(list2) #['a', 'b']

# sorted(list[,reverse=True])	返回排序后的新列表，可选降序
list1 = [100,200,700,600,900,300,400,500]
# list2 =sorted(list1)
# list3 =sorted(list1,reverse=True)
# print(list2)  #[100, 200, 300, 400, 500, 600, 700, 900]
# print(list3)  #[900, 700, 600, 500, 400, 300, 200, 100]
# list.sort([reverse=True])	对列表就地排序，可选降序
# list1.sort()
# print(list1)  #[100, 200, 300, 400, 500, 600, 700, 900]

# list.reverse()	反转列表中的元素
# list1.reverse()   #反转
# print(list1)

# list.index(x[,start,[,end]])	返回x在列表中首次出现的位置，可指定起始和结束范围
print(list1.index(600))  #3

# list.count(x)	返回x的数量
print(list1.count(600))  # 返回这个数在列表的数量
# len(list)	返回列表元素个数
print(len(list1))  # 个数是 8个
# max(list)	返回列表中最大值

# min(list)	返回列表中最小值

# sum(list)	返回列表中所有元素和

# list.copy()	拷贝列表
list2  =  list1.copy()
list2[0] = 1
print("list2:",list2)
print("list1:",list1)

print(id(list1)==id(list2))  # false
# list(x)	将序列转换为列表
# zip 拉链函数
list1 = ['a',"b","c"]
list2 = [1,2,3,4]
zipped = zip(list1,list2)
list4 =list(zipped)
for item in list4:
    print(item)
for item in list4:
    print(item)